package com.ningxun.pagent.bus.mapper;

import java.util.List;
import com.ningxun.pagent.bus.domain.BusPolicyApprove;
import com.ningxun.pagent.bus.domain.BusPolicyContent;
import org.apache.ibatis.annotations.Mapper;

/**
 * 政策审核Mapper接口
 * 
 * @author pagent
 * @date 2025-07-28
 */
@Mapper
public interface BusPolicyApproveMapper 
{
    /**
     * 查询政策审核
     * 
     * @param policyId 政策编号
     * @return 政策审核
     */
    public BusPolicyApprove selectBusPolicyApproveByPolicyId(Long policyId);

    /**
     * 查询政策的所有审批记录
     * 
     * @param policyId 政策编号
     * @return 审批记录列表
     */
    public List<BusPolicyApprove> selectBusPolicyApproveListByPolicyId(Long policyId);

    /**
     * 查询政策审核列表
     * 
     * @param busPolicyContent 政策审核
     * @return 政策审核集合
     */
    public List<BusPolicyContent> selectBusPolicyApproveList(BusPolicyContent busPolicyContent);

    /**
     * 新增政策审核
     * 
     * @param busPolicyApprove 政策审核
     * @return 结果
     */
    public int insertBusPolicyApprove(BusPolicyApprove busPolicyApprove);

    /**
     * 修改政策审核
     * 
     * @param busPolicyApprove 政策审核
     * @return 结果
     */
    public int updateBusPolicyApprove(BusPolicyApprove busPolicyApprove);

    /**
     * 删除政策审核
     * 
     * @param approveId 政策审核主键
     * @return 结果
     */
    public int deleteBusPolicyApproveByApproveId(Long approveId);

    /**
     * 批量删除政策审核
     * 
     * @param approveIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBusPolicyApproveByApproveIds(Long[] approveIds);

    public int updateApproveStateByPolicyId(Long policyId);
}
